package com.itheima.反射.homework.demo01;

import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Method;
import java.util.Properties;

/**
 * @Author 王加鑫
 * @Date 2021/5/26 19:09
 * @Version 1.0
 * 1、【编号2405】在当前模块目录下有properties格式的配置文件（直接准备好即可），内容如下：
 * className=com.itheima.Teacher
 * methodName=teach
 * 同时，在com.itheima包下定义标准的JavaBean，名为Teacher，提供teach方法（无参无返回值，自定义即可）。 请读取该配置文件，使用反射技术，加载这个类，并运行配置的方法。
 */
public class Demo01 {
    public static void main(String[] args) throws Exception {
        InputStreamReader isr = new InputStreamReader(new FileInputStream("day17_类加载器和反射/src/com/itheima/反射/homework/Demo01.properties"),"GBK");
        Properties properties = new Properties();
        properties.load(isr);
        String className = properties.getProperty("className");
        String methodName = properties.getProperty("methodName");
        Class aClass = Class.forName(className);
        Method method = aClass.getDeclaredMethod(methodName);
        method.setAccessible(true);
        Teacher teacher = (Teacher) aClass.getConstructor().newInstance();
        method.invoke(teacher);
        isr.close();

    }


}
